package com.deer.wms.base.system.dao;

import com.deer.wms.base.system.model.Supplier.SupplierManage;
import com.deer.wms.base.system.model.Supplier.SupplierManageCriteria;
import com.deer.wms.base.system.model.Supplier.SupplierManageDto;
import com.deer.wms.project.root.mapper.SuperMapper;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Update;

import java.util.List;

/**
 * @author guo
 */
public interface SupplierManageMapper extends SuperMapper<SupplierManage> {

    /**
     * 按照条件查询
     *
     * @param criteria criteria
     * @return List<SupplierManageDto>
     */
    List<SupplierManageDto> findList(SupplierManageCriteria criteria);

    /**
     * 根据供应商编码查询
     *
     * @param supplierCode 供应商编码
     * @return List<SupplierManageDto>
     */
    List<SupplierManageDto> findByCode(@Param("supplierCode") String supplierCode);

    /**
     * 根据供应商名称查询
     *
     * @param supplierName 供应商名称
     * @return List<SupplierManageDto>
     */
    List<SupplierManageDto> findByName(@Param("supplierName") String supplierName);

    /**
     * 根据供应商编码删除
     *
     * @param supplierCode 供应商编码
     */
    void deleteBySupplierCode(@Param("supplierCode") String supplierCode);

    @Update("truncate table supplier_manage")
    void clear();

    /**
     * 批量添加
     *
     * @param coll
     * @return
     */
    int insertList(@Param("coll") List<SupplierManage> coll);

    /**
     * 批量修改
     *
     * @param collect
     * @return
     */
    int updateList(@Param("collect") List<SupplierManage> collect);
}